/******************************************************************************
 *   文件名: gifwriter.h
 *   项目:   DTP
 *   作者:   huangxb
 *   时间:   2025.05.07
 *
 *   ((c)) 版权所有：上海步科电气有限公司.
 *
 *  本软件及相关文档受版权和知识产权法的保护，未经上海步科电气有限公司的书面允
 *  许，不得在任何媒体上直接或者间接地重新生成，改写，发布，组装，传送，
 *  显示，发表和扩散。
 *
 *   描述: 用于生成gif
 *
 *   版本历史:
 *
 *   版本        修改者         修改日期      修改原因
 *   V1.0      huangxb         2025.05.07    创建
 ******************************************************************************/
#ifndef GIFWRITER_H
#define GIFWRITER_H

#include <QScopedPointer>
#include <QString>
#include <QSize>
#include <QImage>

struct GifWriterData;
class QImage;
class QSize;
class GifWriter
{
private:
    QScopedPointer<GifWriterData> m_spData;

public:
    GifWriter(const QString& strPath, const QSize& size);
    ~GifWriter();

    bool IsValid() const;
    /**
     * @brief 向gif增加一帧
     * @param[in] img 图片
     * @param[in] QMovie获取的nextFrameDelay，单位ms
     */
    bool AddFrame(const QImage& img, int nFrameRate);
    void Flush();
};

#endif // GIFWRITER_H
